package com.jsbs.iam.auth.service;

import com.jsbs.iam.auth.dto.*;

import java.util.List;

/**
 * @BelongsProject: iam
 * @BelongsPackage: com.jsbs.iam.auth.service
 * @Author: WangJiYuan
 * @Description: TODO
 * @Version: 2023-01-13  16:35
 */
public interface UserUseService {
    /**
     * 逻辑删除组织类型和角色,用户组的关联关系
     * @param deleteDto
     */
    void deleteOrgTypeRelation(OrgTypeRelationDeleteDto deleteDto);

    /**
     * 清除用户和角色,用户组的关系
     * @param deleteDto
     */
    void deleteUserRelation(UserInfoDeleteDto deleteDto);

    /**
     * 删除应用,菜单,按钮和角色,用户组的关联关系
     * @param deleteDto
     */
    void deleteApplyRelation(ApplyConfigDeleteDto deleteDto);

    /**
     * 删除菜单,按钮和角色,用户组的关联关系
     * @param deleteDto
     */
    void deleteMenuRelation(MenuManagerDeleteDto deleteDto);

    /**
     * 删除按钮和角色,用户组的关联关系
     * @param deleteDto
     */
    void deleteButtonRelation(ButtonDeleteDto deleteDto);

    /**
     * 获取应用的账号列表数据
     * @param applyConfigGetDto
     * @return
     */
    List<String> getUserDataByApply(ApplyConfigGetDto applyConfigGetDto);
}
